<?php
load()->library('database');

#### MySQL LIBRARY #############################################################
class MySQLLibrary extends DatabaseLibrary { 
	
	private $connection;
	private $result;
	
	#### GET CONNECTION ########################################################
	public function getConnection() { return $this->connection; }
	
	#### SET CONNECTION ########################################################
	public function setConnection($resource) { $this->connection = $resource; }	
	
	#### CONNECT ###############################################################
	public function connect($server, $username, $password = false) {
		$this->connection = mysql_connect($server, $username, $password); 
	}

	#### NAME ##################################################################
	public function name($database) { return mysql_select_db($database); }

	#### ERROR CODE ############################################################
	public function errorCode() { return mysql_errno($this->connection); } 

	#### ERROR MESSAGE #########################################################
	public function errorMessage() { return mysql_error($this->connection); } 

	#### ESCAPE STRING #########################################################
	public function escapeString($string) { 
		return mysql_real_escape_string($string); 
	} 

	#### QUERY #################################################################
	public function query($sql = false) {
		$this->endSQL();
		if (!$sql) $sql = $this->getSQL();
		$this->result = mysql_query($sql, $this->connection);
		$this->setSQL();
		return $this->result;
	} 

	#### FETCH ARRAY ###########################################################
	public function fetchArray($mode = MYSQL_BOTH) {
		if ($mode = 'assoc') $mode = MYSQL_ASSOC;
		else if ($mode = 'num') $mode = MYSQL_NUM;
		else if ($mode = 'both') $mode = MYSQL_BOTH;	
		if ($this->result) return mysql_fetch_array($this->result, $mode); 
	} 

	#### FETCH RESULT ARRAY ####################################################
	public function fetchResultArray($mode = MYSQL_BOTH) {
		$array = array();
		while ($row = $this->fetchArray($mode)) $array[] = $row;
		return $array;
	}
	
	#### FETCH ROW #############################################################
	public function fetchRow() { return mysql_fetch_row($this->result); } 

	#### FETCH ASSOC ###########################################################
	public function fetchAssoc() { return mysql_fetch_assoc($this->result); }

	#### FETCH OBJECT ##########################################################
	public function fetchObject() { return mysql_fetch_object($this->result); }
	
	#### FETCH OBJECT ARRAY ####################################################
	public function fetchObjectArray() {
		$array = array();
		while ($row = $this->fetchObject()) $array[] = $row;
		return $array;
	}
	
	#### CHANGES ###############################################################
	public function changes() { return mysql_num_rows($this->result); }
	
	#### INSERT ID #############################################################
	public function insertID() { return mysql_insert_id($this->connection); }	

	#### CLOSE #################################################################
	public function close() { return mysql_close($this->connection); }
}
?>